Software Defined Networks (SDNs) have been developed as a response to the increasing demand for network capacity in traditional cloud environments. This new approach to networks allows central management of traffic flows. Currently, routes for flows are selected based on current network state (e.g., congestion); however they do not take destination server state or load balancing into consideration. Such routing selection may lead to poor performance and complicated routing procedures, especially in the context of migration to this type of environment from a traditionally networked data center. Additionally, existing practices for load balancing involve separate middleboxes, which may incur high cost and require vendor-specific hardware.